(4K) block read into 8 (512 bytes) sector reads. This is inefficient, but also
prevents sharing detector from working, as it is based on page-size reads.
Signed-off-by: Grzegorz Milos <Grzegorz.Milos@citrix.com>
}
if(!cluster_offset) {
+ int i;
+ /* Forward entire request if possible. */
+ for(i=0; i<nb_sectors; i++)
+ if(get_cluster_offset(s, (sector+i) << 9, 0, 0, 0, 0))
+ goto coalesce_failed;
+ treq.buf = buf;
+ treq.sec = sector;
+ treq.secs = nb_sectors;
+ td_forward_request(treq);
+ return;
+coalesce_failed:
treq.buf = buf;
treq.sec = sector;
treq.secs = n;